package com.platform.dto;

import com.platform.comm.constraints.CImport;
import com.platform.comm.validation.groups.Batch;
import com.platform.comm.validation.groups.Insert;
import com.platform.comm.dto.BaseQo;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;

/**
 * View Object for
 * @author Coder
 */
@Getter
@Setter
public class UrpMeasureDto extends BaseQo {
    /**
    * 措施类型.激励/惩戒;0/1
    */
    @Size(max = 2, message = "措施类型长度不能超过2个字符", groups = {Insert.class, Batch.class})
    @NotEmpty(message = "措施类型不能为空", groups = {Insert.class, Batch.class})
    @CImport(name = "措施类型")
    private String measureType;

    /**
    * 措施名称
    */
    @NotEmpty(message = "措施名称不能为空", groups = {Insert.class, Batch.class})
    @Size(max = 512, message = "措施名称长度不能超过512个字符", groups = {Insert.class, Batch.class})
    @CImport(name = "措施名称")
    private String measureName;

    /**
    * 实施部门
    */
    private String departId;

    /**
    * 实施部门名称
    */
    @NotEmpty(message = "实施部门不能为空", groups = {Insert.class, Batch.class})
    @Size(max = 200, message = "实施部门长度不能超过200个字符", groups = {Insert.class, Batch.class})
    @CImport(name = "实施部门")
    private String departName;

    /**
    * 创建人
    */
    private String createBy;

    /**
    * 修改人户ID
    */
    private String updateBy;

    /**
    * 创建部门
    */
    private String createDept;


    /**
    * 删除标识
    */
    private String delflag;

    /**
    * 措施内容
    */
    @NotEmpty(message = "措施内容不能为空", groups = {Insert.class, Batch.class})
    @Size(max = 4000, message = "措施内容长度不能超过4000个字符", groups = {Insert.class, Batch.class})
    @CImport(name = "措施内容")
    private String measureContent;

    /**
    * 批次id
    */
    private String batchId;

    /**
     * 措施性质
     */
    @Size(max = 36, message = "措施性质长度不能超过36个字符", groups = {Insert.class, Batch.class})
    @CImport(name = "措施性质")
    private String measureNature;

    /**
     * 依据
     */
    @Size(max = 2048, message = "措施依据长度不能超过2048个字符", groups = {Insert.class, Batch.class})
    @CImport(name = "措施依据")
    private String basis;

    /**
     * 创建部门名称
     */
    private String createDeptName;

    /**
     * 判断该措施是否被当前备忘录引用
     */
    private String isUse;

}
